<html>

 <head><title>Simple links</title>
 <script>
  function simulateClick(target) {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", true, true, window,
                       0, 0, 0, 0, 0, false, false,
                       false, false, 0, null);

    return target.dispatchEvent(evt);
  }

  function setPortNumber(portNumber) {
    var link = document.getElementById("cross_site_link");
    link.setAttribute("href", "http://foo.com:" + portNumber + "/title2.html");

    link = document.getElementById("cross_site_new_window_link");
    link.setAttribute("href", "http://foo.com:" + portNumber + "/title2.html");

    link = document.getElementById("cross_site_new_window_no_opener_link");
    link.setAttribute("href", "http://foo.com:" + portNumber + "/title2.html");
    return true;
  }

  function clickSameSiteLink() {
    return simulateClick(document.getElementById("same_site_link"));
  }

  function clickSameSiteNewWindowLink() {
    return simulateClick(document.getElementById("same_site_new_window_link"));
  }

  function clickSameSiteNewWindowWithNoopenerLink() {
    return simulateClick(document.getElementById("same_site_new_window_with_noopener_link"));
  }

  function clickSameSiteNewWindowWithOpenerLink() {
    return simulateClick(document.getElementById("same_site_new_window_with_opener_link"));
  }

  function clickCrossSiteLink() {
    return simulateClick(document.getElementById("cross_site_link"));
  }

  function clickCrossSiteNewWindowLink() {
    return simulateClick(document.getElementById("cross_site_new_window_link"));
  }

  function clickCrossSiteNewWindowNoOpenerLink() {
    return simulateClick(document.getElementById("cross_site_new_window_no_opener_link"));
  }

  function clickViewSourceLink() {
    return simulateClick(document.getElementById("view_source_link"));
  }

  function clickLinkToSelf() {
    return simulateClick(document.getElementById("link_to_self_opener"));
  }

  function clickLinkToSelfNoOpener() {
    return simulateClick(document.getElementById("link_to_self_no_opener"));
  }

  function clickGoogleChromeLink() {
    return simulateClick(document.getElementById("google_chrome_link"));
  }
 </script>
 </head>

<a href="title2.html" id="same_site_link">same-site</a><br>
<a href="http://foo.com/title2.html" id="cross_site_link">cross-site</a><br>
<a href="view-source:about:blank" id="view_source_link">view-source:</a><br>
<a href="title2.html" id="same_site_new_window_link" target="_blank">same-site new window</a>
<a href="title2.html" id="same_site_new_window_with_noopener_link" rel="noopener" target="_blank">same-site new window with noopener</a>
<a href="title2.html" id="same_site_new_window_with_opener_link" rel="opener" target="_blank">same-site new window with opener</a>
<a href="http://foo.com/title2.html" id="cross_site_new_window_link" rel="opener" target="_blank">cross-site new window</a>
<a href="http://foo.com/title2.html" id="cross_site_new_window_no_opener_link" rel="noopener" target="_blank">cross-site new window no opener</a>
<a href="" id="link_to_self_opener" rel="opener" target="_blank">self new window_opener</a>
<a href="" id="link_to_self_no_opener" rel="noopener" target="_blank">self new window_noopener</a>
<script>
  document.getElementById("link_to_self_opener").href = window.location.toString();
  document.getElementById("link_to_self_no_opener").href = window.location.toString();
</script>
<a href="googlechrome://" id="google_chrome_link">googlechrome:</a></br>
</html>
